#ifndef __MESSAGE_HEADER_H
#define __MESSAGE_HEADER_H

#include <string>
using namespace std;

namespace MessageType
{
	enum MessageType
	{	
		ANY_MESSAGE_FOR_ME = 0,
		NO_MESSAGES_FOR_YOU = 1,
		SEND_INFO = 2,
		REQUEST_INFO = 3
	};
}


static const int HEADER_LENGTH = 5;

class MessageHeader
{
private:
	int messageLengthInBytes;
	MessageType::MessageType type;
	
	
public:
	MessageHeader();
	MessageHeader(int messageLengthInBytes, MessageType::MessageType type);
	MessageHeader(const MessageHeader &msg);
	~MessageHeader();
	void SetMessageLength(int messageLengthInBytes);
	void SetMessageType(MessageType::MessageType type);
	int GetMessageLength();
	MessageType::MessageType GetMessageType();
	string GetMessageHeaderBuffer();
	int GetMessageHeaderSizeInBytes();
	
};

#endif